package com.william.jdbcplus.core.condition.wrap;

import java.util.Map;

/**
 * 包装接口
 *
 * @author niliwei
 */
public interface IWrap extends SqlWrap, JdbcWrap {

    /**
     * 获取查询参数
     *
     * @return
     */
    Map<String, Object> getParamNameValuePairs();

    /**
     * where条件是否为空
     */
    boolean isEmptyOfWhere();

    /**
     * 获取执行脚本
     *
     * @return
     */
    String getExecSql();

    /**
     * 获取格式化执行脚本
     *
     * @return
     */
    String getExecSqlFormat();

    /**
     * 清除全部条件
     */
    void clear();

    /**
     * 清除 SELECT 条件
     */
    void clearSelect();

    /**
     * 清除 FROM 条件
     */
    void clearFrom();

    /**
     * 清除 FROM 条件
     */
    void clearWhere();

    /**
     * 清除 GroupBy 条件
     */
    void clearGroupBy();

    /**
     * 清除 Having 条件
     */
    void clearHaving();

    /**
     * 清除 Order By 条件
     */
    void clearOrderBy();

    /**
     * 清除 Union条件
     */
    void clearUnion();
}
